class Student:

    def __init__(self, name, age):
        self.__name = name # 私有属性 外部不能访问
        self._age = age # 受保护的属性，外部能直接访问，但是不建议

    def introduce(self):
        print(f'大家好，我的名字叫{self.__name}，今年{self._age}岁')

    # 生成一个实例方法，返回私有属性__name
    def get_name(self):
        return self.__name

    # 生成一个实例方法，修改私有属性__name
    def set_name(self, name):
        self.__name = name

    # 生成一个实例方法，返回受保护的属性_age
    def get_age(self):
        return self._age

    # 生成一个实例方法，修改受保护的属性_age
    def set_age(self, age):
        self._age = age


stu = Student('张三',20)
stu.__name = '李四' # 这里并没有修改实例的__name
stu._age = 80

print(stu.__name)
print(stu._age)
stu.introduce()
